﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BenchmarkNet
{
    public enum BenchmarkType
    {
        Sequential,
        Parallel
    }

    [AttributeUsage(AttributeTargets.Constructor|
                    AttributeTargets.Method,
                    AllowMultiple=true)]
    public class BenchmarkedThisAttribute : Attribute
    {
        public BenchmarkType Type { get; set; }
        public string DateWhenBenchmarked { get; set; }
        public int Iterations { get; set; }
        public string ExecutionTime { get; set; }
        public int SVNCommit { get; set; }
        public string Comment { get; set; }

        //constructor for positional parameters
        public BenchmarkedThisAttribute(BenchmarkType type,string Date,int iterations,string ExecTime, int SvnCommit,string Comment)
        {
            this.Type = type;
            this.DateWhenBenchmarked = Date;
            this.Iterations = iterations;
            this.ExecutionTime = ExecTime;
            this.SVNCommit = SvnCommit;
            this.Comment = Comment;
        }
    }
}